package cn.sumpu.app.guoguojie.dao;

import java.util.List;
import java.util.Map;

import cn.sumpu.app.guoguojie.domain.Doing;
import cn.sumpu.app.guoguojie.domain.DoingPictorial;
import cn.sumpu.app.guoguojie.domain.DoingPictorialTopic;
import cn.sumpu.app.guoguojie.domain.PictorialDoing;
import cn.sumpu.app.guoguojie.domain.PictorialTopic;
import cn.sumpu.app.guoguojie.exception.AppBusinessException;

public interface PictorialTopicDao {

    //添加画报主题
    void addPictorialTopic(PictorialTopic pictorialTopic) throws AppBusinessException;

    //查询所有画报主题
    List<PictorialTopic> getPictorialTopicAll(Map<String, Object> map) throws AppBusinessException;

    int getPictorialTopicAllCount(Map<String, Object> map) throws AppBusinessException;

    //根据画报ID查询画报主题
    List<PictorialTopic> getPictorialTopicByID(Map<String, Object> map) throws AppBusinessException;

    //根据名称查询画报主题的个数
    int getPictorialTopicByName(Map<String, Object> map) throws AppBusinessException;

    //更新画报主题
    void updatePictorialTopicById(PictorialTopic pictorialTopic) throws AppBusinessException;

    //删除画报主题
    void deletePictorialTopicById(Map<String, Object> map) throws AppBusinessException;

    //给画报添加主题
    void addDoingPictorialTopic(Map<String, Object> map) throws AppBusinessException;

    //删除画报主题
    void deleteDoingPictorialTopic(Map<String, Object> map) throws AppBusinessException;

    //	更新画报的排序
    public void updatePictorialSort(Map<String, Object> map) throws AppBusinessException;

    //得到最新加入主题的画报作者和他发的画报
    public List<DoingPictorial> getLastTopicMember(Map<String, Object> map) throws AppBusinessException;

    //	得到主题最新的有图片的4个画报
    public List<String> getLastPictorail6(Map<String, Object> map) throws AppBusinessException;

    //	通过4个画报ID得到4个图片
    public List<String> getLastPicUrl6(Map<String, Object> map) throws AppBusinessException;

    //	根据主题删除所有的画报关联
    public void deletePictorialTopicByTopic(String topicId) throws AppBusinessException;

    //	删除该主题的画报
    public void delPicFromTopic(Map<String, Object> map) throws AppBusinessException;

    public void insertTopicPictorial(DoingPictorialTopic dpt) throws AppBusinessException;

    public void insertPictorialDoing(PictorialDoing pictorialDoing) throws AppBusinessException;

    public void updateTopicPictorial(DoingPictorialTopic doingPictorialTopic) throws AppBusinessException;

    public void updatePictorialDoing(PictorialDoing pictorialDoing) throws AppBusinessException;

    public void deletePictorialDoing(Map<String, Object> map) throws AppBusinessException;

    public int getTopicPictorialCount(Map<String, Object> map) throws AppBusinessException;

    public int getPictorialDoingCount(Map<String, Object> map) throws AppBusinessException;

    public int getPictorialCount(Map<String, Object> map) throws AppBusinessException;

    public Integer getTopicMinSort(Map<String, Object> map) throws AppBusinessException;

    public Integer getTopicPictorialMinSort(Map<String, Object> map) throws AppBusinessException;

    public Integer getPictorialDoingMinSort(Map<String, Object> map) throws AppBusinessException;

    public List<PictorialTopic> getPictorialTopic(Map<String, Object> map) throws AppBusinessException;

    public List<DoingPictorialTopic> getTopicPictorial(Map<String, Object> map) throws AppBusinessException;

    public List<PictorialDoing> getPictorialDoing(Map<String, Object> map) throws AppBusinessException;

    public List<Doing> getDoing(Map<String, Object> map) throws AppBusinessException;

    public List<DoingPictorial> getPictorial(Map<String, Object> map) throws AppBusinessException;
    
    public List<DoingPictorial> getDoingPictorialForname(Map<String, Object> map) throws AppBusinessException ;
    
    public List<DoingPictorial> getOneForcreator(Map<String, Object> map) throws AppBusinessException;
}
